Intra-prediction is used in advanced video coding standards for efficiently compress frames without using prediction from other frames. The intra-prediction is used as both synchronization points and for new information revealed or occluded in a given frame. The prediction of a block is performed by using the surrounding pixels from neighboring blocks that were previously coded in that frame. The H.264 advanced video coding standard uses 4×4, 8×8, and 16×16 block predictions. In the high efficiency video coding (i.e., HEVC) draft standard, the available block sizes are increased to include 32×32 and 64×64 blocks. Various angular predictions are also examined during intra-prediction. The number of prediction modes varies for the various block sizes. For example, 17 modes are currently defined in HEVC, for the 4×4 blocks, 34 modes for the 8×8 blocks, 34 modes for the 16×16 blocks, 34 modes for the 32×32 blocks and 5 modes for the 64×64 blocks. A typical approach used to select among the intra-prediction modes is to do a direct examination of each mode. Each examination involves creating an appropriate prediction block (for each block currently under consideration) and calculating a sum-of-absolute difference (i.e., SAD) for each mode. The mode with the least cost (i.e., SAD and mode-bits) is selected to intra-code the current block. Checking all possible modes consumes a large amount of computation power and many accesses to memory, which is commonly not well suited to one-dimensional organizations of conventional memories.
It would be desirable to implement a method and system for intra-prediction mode selection while encoding a picture.